The present invention relates to telecommunication networks and more particularly to a method and system for measuring the reception characteristics of receivers in a multicast data distribution group.
Multicast data transmission techniques are well known. In a multicast data distribution group, a sending node transmits a multicast message to a plurality of member nodes within the multicast group. The members of the group are typically organized in a hierarchical repair tree in which nodes at respective levels of the repair tree act as repair nodes or repair heads for receivers located at the next or lower levels of the repair tree. The multicast messages transmitted by the sending node typically include a session identifier and a sequence number. A receiver determines that it did not receive one or more packets within a multicast session if it receives a multicast packet that includes a sequence number that is higher than other packets in the multicast session sequence that were not received. In the event that a determination is made that one or more packets were not received at a receiver, a repair request may be issued to the respective repair node to initiate the retransmission of the missing packet(s). For purposes of reference herein, repair requests are considered as being transmitted upstream, or up the repair tree, and multicast data packets transmitted from the sending node or a repair head to a receiver which is at a lower level in the repair tree are considered as being transmitted downstream or down the repair tree.
In multicast data transmissions groups, reliability support mechanisms may be employed to attempt to assure that all member nodes of a multicast group receive the transmitted data and that multicast data transmissions proceeds at an acceptable data rate. Congestion control mechanisms are employed that result in the adjustment of the data transmission rate to a rate that can be accommodated by the multicast group receivers. The reduction of the transmission rate of the sending node to a rate that can be accommodated by all receivers fails, however, when the sending node must maintain a minimum data transmission rate which exceeds the rate at which one or more nodes in the multicast group can receive data. For this reason, multicast data distribution groups have employed techniques which result in the pruning of receivers from the multicast group in the event the receivers cannot receive multicast message at a minimum acceptable data transmission rate. One technique for pruning receivers in a multicast data distribution group is disclosed in U.S. patent application Ser. No. 09/497,443, titled Method and Apparatus for Hierarchical Discovery and Pruning of Slow Members of a Multicast Group, filed Feb. 3, 2000 and assigned to the assignee of the present application, and incorporated herein by reference.
Congestion control and pruning decisions are typically based upon the reception characteristics of the respective receivers within the multicast data distribution group. The accurate measurement of the data loss rate experienced by a receiver is recognized as a difficult problem. It would therefore be desirable to be able to provide a technique for accurately measuring the reception characteristics of receivers in a data distribution group so that congestion control and pruning operations can be based upon reliable information pertaining to the reception characteristics of the receivers in the multicast group.
Consistent with the present invention, a method and system are disclosed for accurately measuring the data loss rate of receivers within a multicast data distribution group. The multicast group includes a sending node and a plurality of receiver nodes that are organized as a repair tree in which selected nodes of the multicast group serve as repair nodes for downstream receivers. The repair nodes retransmit packets in response to repair requests issued by downstream receivers upon a determination that one or more packets were not received. Each multicast data packet that is transmitted includes a retransmission count field in addition to the fields typically included in the multicast data packet. When a sending node transmits a multicast data packet for the first time, the retransmission count field is initialized to zero. Each repair node stores a retransmission counter value in a transmit retransmission counter (TX-RPC) associated with the packet sequence number for each received packet within the multicast session. The TX-RPC counter value comprises an indication of the number of times the respective packet has been retransmitted by the repair head in response to a repair request. When a repair head receives a request to retransmit a packet, the repair node increments the TX-RPC for the respective packet sequence number in the relevant multicast session and includes the retransmission count in the multicast data packet retransmission count field for the repair packet.
For each multicast session, in a preferred embodiment, each receiver maintains two counters for each multicast session which are used in the generation of a data loss metric. The counters are initialized to zero during the multicast session initialization and optionally at intervals within the respective multicast session. The first counter, referred to herein as the receiver original packet counter (RX-OPC), is employed to maintain a count of the original multicast data packets received at the respective receiver and is incremented upon receipt of each packet within the multicast session that is received for the first time; i.e. either from the sending node or via a retransmission from a repair head. Thus, each receiver increments the original packet counter upon receipt of a packet that has not been previously received. The second counter, referred to herein as the receiver retransmission packet counter (RX-RPC) is employed to maintain a count of the number of attempted retransmissions for retransmitted packets received by the respective receiver for which the receiver recognized the packet as missing at the time of receipt of the respective retransmitted packet. More specifically, when a data packet is received at the respective receiver that is not an original data packet, and the packet is listed as missing, the value contained in the retransmission count field is added to the then current value of the RX-RPC. A data loss metric generated as a function of the RX-OPC and the RX-RPC in each receiver provides an accurate indication of the reception characteristics of the receiver for the respective multicast session.
In one embodiment of the presently disclosed system, the data loss metric is generated over a predetermined number of packets which comprises a data loss measurement window. The width of the window may be programmably selected. In the event one or more packets have not been received within the measurement window, the RX-RPC may be incremented by the number of missing packets within the measurement window prior to calculating the data loss metric for the respective measurement window.
Other forms, features and aspects of the above described methods and system are described with particularity below.